perm filename TING2.TO[LSP,JRA] blob
sn#129973 filedate 1974-11-13 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 hi:
C00009 ENDMK
C⊗;
hi:
i actually made up (sigh) four copies of old hack, and then started
a cover letter of apology for krocks i..particularly in vol 2..
that became so confusing that i just decided to rewrite the mess...
that's what i'm doing now...vol two is completely restructured
yes passing back functions was left out..it's now in...
i'll check read and print
the speling erors shuld be ckecked in a later version, since i'm still
rewritting maney parts.
below's letter i started to write, for what it's worth...new version
is also together though. i have not forgotten
yes pl/1 sucks.i'm double pissed at nixon since my use of expletive
was added in 1969...now everyone uses it..
AND BE SURE TO TELL KRUFTY OLD HEARN THAT YOU LIKED THE STYLE!!
--------------
To the Patient Reader:
There are some major revisions in progress on the Super Lisp
manuscript. Sketching those areas here will hopefully forestall
attempts to understand sections which are poorly done and have been
changed.
Several revisions are due to persistent criticism from many
reviewers; some are due to my general discomfort with the current
presentation. The net effect is a restructuring of the two chapters
entitled "Towards Implementation" [part II-sec.6] and
"Compilation"[II-7]. These two chapters are being rewritten to
reflect the static structure of LISP and the dynamic structure of
LISP respectively.
In [II-6], the section on AMBIT/G is being completely rewritten. The
idea of graphical description of an algorithm as well as data is
worth presenting, but a very informal sketch is all that is really
necessary. The sections on "syntactic dominoes", the Contour model,
and graphical garbage collectors, are out.
The chapter on compilers [II-7] for LISP is quite incomplete; however
it is also much too machine dependent. This material has all been
rewritten in a much more abstract style, using constructors,
selectors, and predicates. There will correspondingly be much less
emphasis on the SM-machine. What will remain will be moved into the
Compiling chapter.
Throughout the text, there will be more emphasis on writing LISP
programs in an abstract style. This is one of the few canons of
"structured programming" and should be recognized as such.
[for example, stuff on list notation is all rewritten, expressing
list notation as a data-structure definition over sexprs and dot-notation
as the underlying representation]
There are a few topics yet to be included. The temptation to "keep on
writing" should be restrained, but one of the important topics to be
included is: just what can we learn from LISP? LISP has been an
amazingly durable language. In attempting to understand LISP in the
chapters on mechanics, evaluation, its static and dynamic structure,
we should begin to understand what makes a LISP-like language. This
understanding is part of the chapter on "Implications..." [II-8]. A
chapter on "Implications..." should also examine some of the more
durable characteristics of Artificial Intelligence languages.
Several existing sections are incomplete. The sections on
%2λ%*-calculus [I-4.6] and mathematical semantics [I-4.17] are quite
incomplete and contain some errors. These sections are being revised.
The section on Weizenbaum diagrams [I-4.9] has been reworked. The
current presentation is unclear and the diagrams are hard to read.
Many more problem sets must be included. Any contributions in this
area will be gratefully received.
This manuscript attempts to give a reasonably self-contained
presentation. The idea is to give people, with litle or no
background in Computer Science, a proper introduction to the
interesting areas of the field. I obviously think LISP is the best
way to do this.